package cn.fengtang.chatglm.data.domain.model.aggregates;

import cn.fengtang.chatglm.data.domain.model.entity.PromptEntity;
import cn.fengtang.chatglm.model.Model;
import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.util.List;

@Data
@AllArgsConstructor
@NoArgsConstructor
@Builder
public class ChatProcessAggregate {
    /* 验证信息 */
    private String token;
    /* 模型 */
    @JsonProperty("glm-4v")
    private String model = Model.GLM_4V.getCode();
    /* 消息 */
    private List<PromptEntity> messages;
    /**
     * 使用同步调用时，此参数应当设置为 Fasle 或者省略。表示模型生成完所有内容后一次性返回所有内容。
     * 如果设置为 True，模型将通过标准 Event Stream ，逐块返回模型生成内容。Event Stream 结束时会返回一条data: [DONE]消息。
     * 24年1月发布的 GLM_3_5_TURBO、GLM_4 模型时新增
     */
    private Boolean stream = true;
    /**
     * 是否对返回结果数据做兼容，24年1月发布的 GLM_3_5_TURBO、GLM_4 模型，与之前的模型在返回结果上有差异。开启 true 可以做兼容。
     */
    private Boolean isCompatible = true;
}
